# -*- coding: utf-8 -*-

# Copyright (C) 2009  Mark McCans <mjmccans@gmail.com>
# 
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

from feedparser import feedparser # Load load local copy to avoid installation issues

class gmailfeed:
    def parseFeed(self, feed):
        # Grab the gmail atom feed
        mail = {}
        atom = feedparser.parse(feed)
        
        if atom.bozo <> 0:
            print "Error parsing feed:", atom.bozo_exception
            mail = None
        else:
            mail["fullcount"] = int(atom.feed.fullcount)
            mail["url"] = atom.feed.link
            
            mail["entries"] = []
            for i in xrange(len(atom.entries)):
                entry = {}
                entry["subject"] = atom.entries[i].title
                entry["authorname"] = atom.entries[i].author_detail.name
                entry["authoremail"] = atom.entries[i].author_detail.email
                mail["entries"].append(entry)
            
        return mail
        